package com.datacenter.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 下载日志实体类
 * 
 * 业务含义：
 * 记录所有文件下载的详细信息，用于监控下载量、识别异常下载行为
 * 支持热门资源排行、用户行为分析、沉睡资源识别
 */
@Data
@TableName("ods_download_log")
public class DownloadLog {
    
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 资源ID
     * 业务含义：关联的资源元数据ID
     */
    private Long resourceId;
    
    /**
     * 文件名
     * 业务含义：下载的文件名称
     */
    private String fileName;
    
    /**
     * 下载时间
     * 业务含义：文件下载的具体时间
     */
    private LocalDateTime downloadTime;
    
    /**
     * 下载IP
     * 业务含义：下载方的IP地址，用于异常行为检测
     */
    private String ipAddress;
    
    /**
     * 用户ID
     * 业务含义：下载用户的唯一标识
     */
    private String userId;
    
    /**
     * 文件大小
     * 业务含义：下载文件的字节大小，用于流量统计
     */
    private Long fileSize;
    
    /**
     * 部门
     * 业务含义：下载用户所属部门
     */
    private String department;
}
